package tpTUtest;
import  tp2.Camion;
import tp2.Conducteur;

import static org.junit.Assert.*;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

/**
 * The test class TestCamionneur.
 *
 * @author  (your name)
 * @version (a version number or a date)
 */
public class TestConducteur
{
    private Camion grosCamion;
    private Conducteur petitCamionneur;

    /**
     * Default constructor for test class TestCamionneur
     */
    public TestConducteur()
    {

    	Conducteur camionneur = new Conducteur(1);
    	assertEquals(1, camionneur.getpoidsCamionneur());
    	assertNull(camionneur.getCamion());
    }

    /**
     * Sets up the test fixture.
     *
     * Called before every test case method.
     */
    @Before
    public void setUp()
    {
        grosCamion = new Camion(2, 10);
        petitCamionneur = new Conducteur(1);
       // petitCamionneur.setCamion(grosCamion);
    }
    /**
     * Tears down the test fixture.
     *
     * Called after every test case method.
     */
    @After
    public void tearDown()
    {
    }

    @Test
    public void testCalculerPoidsCamionConduit()
    {
    	petitCamionneur.setCamion(grosCamion);
        assertEquals(13, petitCamionneur.calculerPoidsCamionConduit());
    }
    /* @Test
    	public void testaffecterCamion() {
        petitCamionneur.setCamion(null);
        
    	petitCamionneur.addCamion(grosCamion);
    	//
    	assertEquals(grosCamion, petitCamionneur.getCamion());
    	assertEquals(1, grosCamion.getArray().size());
    	assertNull(grosCamion.getConducteur());
    	assertTrue(grosCamion.getArray().contains(petitCamionneur));
    	}
    */
    @Test
    public void testmonterCamion()
    {
    	petitCamionneur.monterCamion(grosCamion);
    	assertEquals(1, grosCamion.getArray().size());
		assertEquals(grosCamion, petitCamionneur.getCamion());
    	assertNull(grosCamion.getConducteur());
    	assertTrue(grosCamion.getArray().contains(petitCamionneur));
    }
    @Test
    public void testdescendreCamion()
    {
    	Conducteur conducteur1 = new Conducteur(1);
    	petitCamionneur.monterCamion(grosCamion);
    	
    	petitCamionneur.descendreCamion();
    	assertNull(petitCamionneur.getCamion());
    	assertEquals(0, grosCamion.getArray().size());
    	
    	assertNull(grosCamion.getConducteur());
    	assertFalse(grosCamion.getArray().contains(petitCamionneur));
    	assertFalse(grosCamion.getArray().contains(conducteur1));
    }

}

